1. Field of the Invention
The present invention relates generally to a data processing system and computer program product for obtaining Small Computer System Interface (SCSI) reservation status information on a storage area network (SAN) device. More specifically, the present invention relates to determining if a SAN device is reserved, under which standard or protocol it is reserved under, as well as other details concerning reservations.
2. Description of the Related Art
Data centers are routinely being expanded and/or maintained to add or replace processors, each of which may be a part of a host. In order to enhance utilization, each host may be assigned or otherwise reserve use of storage. Hosts may use one of the SCSI protocols to reserve a disk, using a standard in accordance with SCSI primary commands (SPC), as promulgated by T10 technical committee of the International Committee for Information Technology Standards (INCITS).
Currently, there are two standards in use to reserve storage in the form of logical units. A logical unit or logical unit number (LUN) is one or more disk drives or other SCSI capable devices that are addressable as a unit and is presented to a host via one or more storage controllers. The protocols for communicating from a host, also known as a SCSI Initiator, to a LUN, also known as a SCSI target, can be, for example SPC-2 or SPC-3. The SPC specifies various SCSI commands according to various versions of protocols. SPC-Version 2, equivalently referred to as SPC-2, is a version of commands published in 2001. SPC-Version 3, equivalently referred to as SPC-3, is a version of commands published in 2005. In the case of SPC-2, the reservation mechanism uses RESERVE and RELEASE SCSI commands. In the case of SPC-3, the reservation mechanism uses persistent reservation (PR) SCSI Commands.
LUNs, as shipped, may have the SCSI protocol state machine installed in the form of firmware. Hosts communicating with the LUN have the flexibility to use either of the SCSI Reservation mechanisms (SPC-2 Reserve/Release or SPC-3 Persistent Reservation commands). However, hosts cannot use both the Reservation mechanisms at the same time even though the LUN supports both the Reservation mechanisms. This situation poses a challenge for the host in terms of communicating with the LUN to obtain its current reservation status.
Accordingly, a remedy is sought.